﻿using System;
using Eassets.Layered.Domain.Global;

namespace Eassets.Layered.Domain.Secure
{
    [Serializable]
   public class SecurityGroup
    {
        #region Fields

        /// <summary>
        /// The Security Group Id of the SecurityGroup.
        /// </summary>
        private long securityGroupId;

        /// <summary>
        /// The Code of the SecurityGroup.
        /// </summary>
        private string code = string.Empty;

        /// <summary>
        /// The Description of the SecurityGroup.
        /// </summary>
        private string description = string.Empty;

        private long organizationLevelListId;
        /// <summary>
        /// The OrganizationStructure (Company) of the SecurityGroup.
        /// </summary>
        //private OrganizationStructure securityGroupOrganizationStructure;
        private OrganizationLevelList organizationLevelList;

        #endregion

        #region Properties

        /// <summary>
        /// Gets or sets the security group id.
        /// </summary>
        /// <value>The security group id.</value>
        public long SecurityGroupId
        {
            get
            {
                return this.securityGroupId;
            }
            set
            {
                this.securityGroupId = value;
            }
        }

        /// <summary>
        /// Gets or sets the code.
        /// </summary>
        /// <value>The code.</value>
        public string Code
        {
            get
            {
                return this.code;
            }
            set
            {
                this.code = value;
            }
        }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        public string Description
        {
            get
            {
                return this.description;
            }
            set
            {
                this.description = value;
            }
        }

        /// <summary>
        /// Gets or sets the organization structure.
        /// </summary>
        /// <value>The organization structure.</value>
        public long OrganizationLevelListId
        {
            get
            {
                return this.organizationLevelListId;
            }
            set
            {
                this.organizationLevelListId = value;
            }
        }

        /// <summary>
        /// Gets or sets the organization structure.
        /// </summary>
        /// <value>The organization structure.</value>
        public OrganizationLevelList OrganizationLevelList
        {
            get
            {
                return this.organizationLevelList;
            }
            set
            {
                this.organizationLevelList = value;
            }
        }

        #endregion

    }
}
